// #include<stdio.h>
// #include<ctype.h>
// #include<stdlib.h>
// int main()
// {
//  char arr[101];
//  scanf("%100s",arr);
// int i =0;
// char cun[31];
// int suo = 0;
// while(arr[i]!='\0')
// {
// if(isdigit(arr[i]))
// {
//     cun[suo++] = arr[i];
// }
// else
// {
// if(suo>0)
// {
//     cun[suo] = '\0';
//     printf("%d\n",atoi(cun));
//     suo = 0;
// }
// }
// i++;
// }
// if(suo>0)
// {
//     cun[suo] = '\0';
//     printf("%d\n",atoi(cun));
// }
//     return 0;
// }
// #include<stdio.h>
// int main()
// {
//     char arr[100];
//     fgets(arr,10,stdin);
//     printf("%s",arr);
//     return 0;
// }
#include<stdio.h>
#include<ctype.h>
#include<string.h>

void zhuan(char str[])
{
    int a =0;
    for (int i = 0; str[i]!='\0'; i++)
    {
        if(str[i]!=' ')
        str[a++] = tolower(str[i]);


    }
    str[a] = '\0';



}






int main()
{

char arr1[101],arr2[101];
fgets(arr1,100,stdin);
fgets(arr2,100,stdin);
zhuan(arr1);
zhuan(arr2);
arr1[strcspn(arr1, "\n")] = '\0';  
arr2[strcspn(arr2, "\n")] = '\0';  

if(strcmp(arr1,arr2) == 0)
{
    printf("YES");
}
else
{
    printf("NO");

    
}









    return 0;
}